package com.jjb.saas.demo.app.role.service;


import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.system.client.role.request.RoleAddCmd;
import com.jjb.saas.system.client.role.request.RolePageQry;
import com.jjb.saas.system.client.role.request.RoleUpdateCmd;
import com.jjb.saas.system.client.role.response.RoleCO;
import com.jjb.saas.system.client.role.response.RoleDetailCO;


/**
 * @author tzh * @date 2022年07月08日 18:50
 */
public interface RoleService {
    /**
     * 新增
     * @param cmd
     * @return
     */
    Response add(RoleAddCmd cmd);

    /**
     * 编辑
     * @param id
     * @param cmd
     * @return
     */
    Response update(RoleUpdateCmd cmd);

    /**
     * 启用禁用
     * @param id
     * @param statusEnum
     * @return
     */
    Response updateStatus(Long id, String statusEnum,Integer version);



    /**
     * 分页查询
     * @param qry
     * @return
     */
    PageResponse<RoleCO> listPage(RolePageQry qry);

    /**
     * 详情
     * @param id
     * @return
     */
    SingleResponse<RoleDetailCO> getDetail(Long id);

}
